package com.accenture.portal.dao.questionnaire;

import java.util.Date;
import java.util.List;

import com.accenture.portal.model.questionnaire.Questionnaire;

public interface QuestionnaireMapper {
	public Questionnaire getQuestionnaireById(Integer questionnaireId);
	public void addQuestionnaire(Questionnaire questionnaire);
	public void deleteQuestionnaire(Integer questionnaireId);
	public void editQuestionnaire(Questionnaire questionnaire);
	public List<Questionnaire> getAllQuestionnaire(Integer start,Integer end);
	public Integer getTotalQuestionnaire();
	public List<Questionnaire> getAllQuestionnaireByCategory(Integer start,Integer end,Integer category);
	public Integer getTotalQuestionnaireByCategory(Integer category);
	
	public Integer searchQuestionnaireByNameCount(String name);
	public List<Questionnaire> searchQuestionnaireByName(String name,Integer start,Integer end);
	public Integer searchQuestionnaireByStatusCount(Integer status);
	public List<Questionnaire> searchQuestionnaireByStatus(Integer status,Integer start,Integer end);
	public Integer searchQuestionnaireByCategoryCount(Integer category);
	public List<Questionnaire> searchQuestionnaireByCategory(Integer category,Integer start,Integer end);
	public Integer searchQuestionnaireByQuestionCount(String question);
	public List<Questionnaire> searchQuestionnaireByQuestion(String question,Integer start,Integer end);
	public Integer searchQuestionnaireByCreaterCount(String creater);
	public List<Questionnaire> searchQuestionnaireByCreater(String creater,Integer start,Integer end);
	public Integer searchQuestionnaireByCreateTimeCount(Date createTime);
	public List<Questionnaire> searchQuestionnaireByCreateTime(Date createTime,Integer start,Integer end);
	public Integer searchQuestionnaireByDeadlineCount(Date deadline);
	public List<Questionnaire> searchQuestionnaireByDeadline(Date deadline,Integer start,Integer end);
	public Integer fusionSearchQuestionnaireCount(String questionnaireName,String questionnaireStatus,String questionnaireCategory,Date timeStart,Date timeEnd);
	public List<Questionnaire> fusionSearchQuestionnaire(String questionnaireName,String questionnaireStatus,String questionnaireCategory,Date timeStart,Date timeEnd,Integer start,Integer end);
}
